:root {
  --note-bg-color: #000000;
  --note-fg-color: #ffffff;
  --note-theme-color: #cdf3c2;
  --note-select-color: #cdf3c2;
  --note-bg-inline-code-color: #353535;
  --note-fg-quote-color: #7D7D7D;
  --note-fg-mark-color: #000000;
  --note-bg-mark-color: #cdf3c2;
  --note-quote-bar-color: rgba(200, 200, 200, 0.8);
  --note-border-color: #7b7b7b;
  --note-link-color: #cdf3c2;
  --note-link-hover-color: #3cb4ff;
  --note-table-border-color: #383838;
  --note-table-2n-bg-color: #1a1a1a;
  --note-img-invert-portion: 0%;
  --note-table-2n-img-inver-portion: 10%;
}

.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
  background: #282a36;
}

/* 暗色主题的代码配色（摘自dracula）https://github.com/dracula/highlightjs/blob/master/dracula.css */

.hljs-built_in,
.hljs-selector-tag,
.hljs-section,
.hljs-link {
  color: #8be9fd;
}

.hljs-keyword {
  color: #ff79c6;
}

.hljs,
.hljs-subst {
  color: #f8f8f2;
}

.hljs-title,
.hljs-attr,
.hljs-meta-keyword {
  font-style: italic;
  color: #50fa7b;
}

.hljs-string,
.hljs-meta,
.hljs-name,
.hljs-type,
.hljs-symbol,
.hljs-bullet,
.hljs-addition,
.hljs-variable,
.hljs-template-tag,
.hljs-template-variable {
  color: #f1fa8c;
}

.hljs-comment,
.hljs-quote,
.hljs-deletion {
  color: #6272a4;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-literal,
.hljs-title,
.hljs-section,
.hljs-doctag,
.hljs-type,
.hljs-name,
.hljs-strong {
  font-weight: bold;
}

.hljs-literal,
.hljs-number {
  color: #bd93f9;
}

.hljs-emphasis {
  font-style: italic;
}

/* 暗色主题的代码配色（摘自dracula）https://github.com/dracula/highlightjs/blob/master/dracula.css */

[data-theme="light"] {
  --note-bg-color: #ffffff;
  --note-fg-color: #000000;
  --note-theme-color: #327917;
  --note-bg-inline-code-color: #d6d6d6;
  --note-link-color: #327917;
  --note-link-hover-color: #244517;
  --note-select-color: #327917;
  --note-table-border-color: #dddddd;
  --note-table-2n-bg-color: #f0f0f0;
  --note-img-invert-portion: 100%;
  --note-table-2n-img-inver-portion: 94.6%;

  /* 亮色主题的代码配色（摘自highlight.js默认配色）https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.9.0/build/styles/default.min.css */

  pre code.hljs {
    display: block;
    overflow-x: auto;
    padding: 1em
  }

  code.hljs {
    padding: 3px 5px
  }

  .hljs {
    background: #f3f3f3;
    color: #444
  }

  .hljs-comment {
    color: #697070
  }

  .hljs-punctuation,
  .hljs-tag {
    color: #444a
  }

  .hljs-tag .hljs-attr,
  .hljs-tag .hljs-name {
    color: #444
  }

  .hljs-attribute,
  .hljs-doctag,
  .hljs-keyword,
  .hljs-meta .hljs-keyword,
  .hljs-name,
  .hljs-selector-tag {
    font-weight: 700
  }

  .hljs-deletion,
  .hljs-number,
  .hljs-quote,
  .hljs-selector-class,
  .hljs-selector-id,
  .hljs-string,
  .hljs-template-tag,
  .hljs-type {
    color: #800
  }

  .hljs-section,
  .hljs-title {
    color: #800;
    font-weight: 700
  }

  .hljs-link,
  .hljs-operator,
  .hljs-regexp,
  .hljs-selector-attr,
  .hljs-selector-pseudo,
  .hljs-symbol,
  .hljs-template-variable,
  .hljs-variable {
    color: #ab5656
  }

  .hljs-literal {
    color: #695
  }

  .hljs-addition,
  .hljs-built_in,
  .hljs-bullet,
  .hljs-code {
    color: #397300
  }

  .hljs-meta {
    color: #1f7199
  }

  .hljs-meta .hljs-string {
    color: #38a
  }

  .hljs-emphasis {
    font-style: italic
  }

  .hljs-strong {
    font-weight: 700
  }

  /* 亮色主题的代码配色（摘自highlight.js默认配色）https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.9.0/build/styles/default.min.css */
}

body {
  background-color: var(--note-bg-color);
  color: var(--note-fg-color);
  font-family: "Helvetica", "Arial", "Verdana", sans-serif;
  font-size: 90%;
  line-height: 1.7;
  padding: 1em;
  margin: auto;
}

*::selection {
  background: var(--note-select-color);
  color: var(--note-bg-color);
}

/*超链接*/
a {
  color: var(--note-link-color);
  text-decoration: none;
  border-bottom: 0.1em solid var(--note-link-color);
}

a:visited {
  color: var(--note-link-color);
}

a:hover {
  color: var(--note-link-hover-color);
}

a:active {
  color: var(--note-link-hover-color);
}

a:focus {
  outline: thick dotted;
}

p {
  margin: 1em 0;
  overflow: hidden;
}


/*一二三四五六级标题共有属性*/
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--note-theme-color);
  line-height: 125%;
  font-weight: bold;
  margin-bottom: 0.1em;
}

/*一级标题*/
h1 {
  text-align: center;
  font-size: 2em;
  margin-top: 2em;
}

h1:first-child {
  margin-top: auto;
}

h1:after {
  content: "";
  display: block;
  margin: 0.2rem auto 0;
  width: 6rem;
  height: 0.1rem;
  border-bottom: 0.3rem solid var(--note-theme-color);
}

/*二级标题*/
h2 {
  margin-top: 2em;
  font-size: 1.8em;
  padding-left: 0.4em;
  border-left: 0.4em solid var(--note-theme-color);
  padding-bottom: 0.2rem;
  border-bottom: 0.2rem solid var(--note-theme-color);
}

h2:first-child {
  margin-top: auto;
}

/*三级标题*/
h3 {
  margin-top: 1em;
  font-size: 1.8em;
  padding-left: 0.4em;
  border-left: 0.2em solid var(--note-theme-color);
}

/*四级标题*/
h4 {
  margin-top: 0.8em;
  font-size: 1.6em;
}

/*五级标题*/
h5 {
  margin-top: 0.8em;
  font-size: 1.4em;
}

/*六级标题*/
h6 {
  margin-top: 0.8em;
  font-size: 1.2em;
}

/*下划线*/
u {
  text-decoration: none;
  border-bottom: 0.1em solid var(--note-fg-color);
}

/*引用块*/
blockquote {
  border-left: 0.3rem solid var(--note-quote-bar-color);
  padding-left: 1em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  unicode-bidi: isolate;
  color: var(--note-fg-quote-color);
}

/*水平分割线*/
hr {
  margin: 1.2em auto;
  border-top: 0.1em solid var(--note-border-color);
  border-bottom: 0px;
  border-left: 0px;
  border-right: 0px;
}

/*加粗*/
b,
strong {
  font-weight: bolder;
}

/*“定义”标签*/
dfn {
  font-style: italic;
}

/*“被插入的文本”标签*/
ins {
  background: #ff9;
  color: #000;
  text-decoration: none;
}

/*高亮*/
mark {
  background-color: var(--note-bg-mark-color);
  color: var(--note-fg-mark-color);
  border-radius: 3px;
  font-weight: normal;
}

/*下标与上标*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

/*上标*/
sup {
  top: -0.5em;
}

/*下标*/
sub {
  bottom: -0.25em;
}

/*无序型列表与有序型列表*/
ul,
ol {
  margin: 1em 0;
  padding: 0 0 0 2em;
}

li p:last-child {
  margin-bottom: 0;
}

ul ul,
ol ol {
  margin: .3em 0;
}

/*定义型列表*/
dl {
  margin-bottom: 1em;
}

dt {
  font-weight: bold;
  margin-bottom: .8em;
}

dd {
  margin: 0 0 .8em 2em;
}

dd:last-child {
  margin-bottom: 0;
}

/*图片*/
img {
  margin: auto;
  margin-left: 0;
  display: inline-block;
  max-width: 100%;
  border: 0;
  filter: invert(var(--note-img-invert-portion));
}

#NoteRenderDisplayer>div>span>img,
body>span:not(#NoteRenderDisplayer)>img {
  /* 两种选择器，以同时兼容浏览器渲染出的以及pandoc渲染出的 */
  display: block;
}

img[alt="reserve"] {
  filter: invert(0%) !important;
}

img[align] {
  float: none;
  display: inline-block;
}

/*图片的容器，用于容纳figcaption*/
figure {
  margin: 0px;
}

/*图片的注释*/
figcaption {
  display: none;
  /*  font-size: 0.8em;
  font-style: italic;
  margin: 0 0 .8em;
  text-align: center;*/
}

/*引用中的图片*/
blockquote img {
  filter: opacity(50%);
}

blockquote img[alt="reserve"] {
  filter: opacity(50%);
}

/*表格*/
table {
  margin-bottom: 1.25rem;
  border-collapse: collapse;
  width: 100%;
}

col {
  width: unset !important;
}

table th,
table td {
  padding: 0.4em;
  line-height: 1.25rem;
  vertical-align: middle;
  border: 1px solid var(--note-table-border-color);
}

table th {
  font-weight: bold;
  text-align: left;
}

table thead th {
  vertical-align: middle;
}

table tr:nth-child(2n),
thead {
  background-color: var(--note-table-2n-bg-color);
}

table tr:nth-child(2n) img {
  filter: invert(var(--note-table-2n-img-inver-portion));
}

th>span,
td>span {
  display: inline-block;
}

/*table tr:nth-child(2n-1) td{
  border: 2px solid #383838;
}*/

.author {
  font-size: 1.2em;
  text-align: center;
}

/*行内代码块*/
code {
  padding: 2px 4px;
  border-radius: 0.3rem;
  font-family: "Courier", "Arial", "Verdana", sans-serif;
  color: var(--note-fg-color);
  background-color: var(--note-bg-inline-code-color);
  margin: 0 2px;
}

/*------------------------*/
/*大型代码块*/
/*注：若想更改代码配色，
可在pandoc转换命令中加上--highlight-style=pygments，
这个pygments是scheme的名字，
可通过pandoc.exe  --list-highlight-style列举*/
div.sourceCode {
  background-color: var(--note-bg-color);
}

pre {
  white-space: pre-wrap;
  word-wrap: break-word;
}

pre>code {
  display: block;
  border-radius: 0px;
  padding: 0px;
  background-color: var(--note-bg-color);
  border-left: 0.3em solid var(--note-quote-bar-color);
  padding-left: 1em;
}

#NoteRenderDisplayer>div>span:has(code.language-FND)::before,
body>span:not(#NoteRenderDisplayer):has(code.language-FND)::before {
  /* 两种选择器，以同时兼容浏览器渲染出的以及pandoc渲染出的 */
  font-family: monospace;
  content: "🔵 (Collapsed Function Note Definition)";
}
pre>code.language-FND {
  display: none;
}

#NoteRenderDisplayer>div>span:has(code.language-FNDD)::before,
body>span:not(#NoteRenderDisplayer):has(code.language-FNDD)::before {
  /* 两种选择器，以同时兼容浏览器渲染出的以及pandoc渲染出的 */
  font-family: monospace;
  content: "🟣 (Collapsed Function Note Deduction Diagram)";
}
pre>code.language-FNDD {
  display: none;
}

#NoteRenderDisplayer>div>span:has(code.language-FNDDC)::before,
body>span:not(#NoteRenderDisplayer):has(code.language-FNDDC)::before {
  /* 两种选择器，以同时兼容浏览器渲染出的以及pandoc渲染出的 */
  font-family: monospace;
  content: "🟣 (Collapsed Function Note Deduction Diagram Command)";
}
pre>code.language-FNDDC {
  display: none;
}

/*------------------------*/
@font-face {
  font-family: "MathFontItalicJSoverride";
  font-style: italic;
  font-weight: normal;
  /* src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff") format("woff2"); */
  src: url("../MathJax_Math-Italic.woff") format("woff2");
}

@font-face {
  font-family: "MathFontNormalJSoverride";
  font-style: italic;
  font-weight: normal;
  /* src: url("https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff") format("woff2"); */
  src: url("../MathJax_Main-Regular.woff") format("woff2");
}

/* .TEX-I {
  font-family: MathFontItalicJSoverride !important;
}

.MJX-TEX {
  font-family: MathFontNormalJSoverride !important;
} */

/*Mathjax默认字体覆盖逻辑↑
若没有下述代码，则通过pandoc导出为全整合版的html时，内置的mathjax.js会以为
自己还在cdn.jsdelivr.net/npm/mathjax@3/es5这个路径中
于是会尝试通过相对路径寻找那几个Mathjax数学字体，
但实际上mathjax由于已经被内置到html中，因此mathjax的路径就是html的路径，
再使用相对路径去获取数学字体肯定是做不到的
那么怎么解决这个问题呢？
可以通过CSS将被标记为数学文本的元素强行指定一个新字体
而这个新字体使用绝对路径就可以了
并且由于这个字体是内置在CSS中的，
因此可以被pandoc识别到，于是就可以将此字体也embed进全整合版的html中
使得全整合版在完全离线的环境下使用体验更佳*/